#include "start_freertos.h"
#include "stdio.h"


TaskHandle_t  startHandle;

//后面所有的人物的初始化与任务的创建都在此处调用
void start_task(void *param){

	//进入代码临界区
	taskENTER_CRITICAL();

	//1.初始化任务需要驱动的外设 led at24c02
	init_heart();
	init_gather();



	//2.调用人物的创建代码  心跳任务  采集任务
	createHeartTask();
	createGatherTask(); 






	//在任务函数的内部调用删除任务的代码 如果传入的参数是NULL 就是代表删除自己	
	vTaskDelete(NULL);//删除自己
	//退出代码临界区
	taskEXIT_CRITICAL();

}


//创建其他的三个任务
void freertos_start(){

	BaseType_t res =  xTaskCreate(start_task,
		"start_task",
		128,
		NULL,
		2,
		&startHandle);
	if(res==pdPASS){
		printf("启动任务创建成功 \r\n");
	}	
	//开启任务调度
	vTaskStartScheduler();
}